Server-based computing allows a networked client device, remotely situated with respect to a server computing system, to access computing resources on the server. For example, the client device may run desktop remoting client software (and/or hardware) that uses a remote desktop protocol, such as Remote Desktop Protocol (RDP), Virtual Network Computing (VNC), or Personal Computer over Internet Protocol (PCoIP), to access a desktop remotely. The desktop remoting application displays an image of a graphical user interface generated by the operating system and applications running at the server computing system, e.g., in a virtual machine.
The term, “desktop” can refer to the virtual machine or physical system accessed by an end user as local (to the user) desktop or workstation computer. Alternatively, the term “desktop” may refer to the human interface environment through which users can launch, interact with, and manage applications, settings, and/or data. The remote desktop is accessible by the user using the remote desktop protocol and a desktop remoting client. The client device transmits user input such as keyboard or mouse input to the remote system to be processed there, and receives display and other data, such as sound, for presentation to the user.
Virtual Desktop Infrastructure (VDI) is used to create a large number of independent computing environments for a large number of users using computer virtualization technologies. Users remotely access the virtual means running in the datacenter using software that remotes the user interface of the remote desktop. Users can login to the virtual desktop anytime from any device supporting a remote protocol to connect to the virtual desktop. A user may be accessing the remote desktop via client devices, such as smart phones, tablet devices, and cellular phones, which have a different form factor than desktop typical computer or laptop. As a result, the image of a graphical user interface may not be ideal for the end user to read due to the form factor of the client device.
For example, the client device may have a smaller screen resolution making the image hard to view or navigate, and precise pointing may be difficult or impossible. For example, touch sensitive screens may be leveraged by client devices to simplify how users interact with applications, and remote desktop solutions that convert the touch events into mouse/keyboard events for the remote desktop may not provide a satisfactory user experience. Thus, displaying the image of the remote desktop may not be very convenient for accessing files on remote desktops from such devices.
Cloud based file synchronization services allow users to install client software on different devices to sync data in a cloud file system. The service is implemented by moving the files into a cloud file system and allowing access to the files from different client devices/platforms. The file changes are synchronized into the “central” copy. This solution has limitations in that the remoting is not a desktop solution and can be inconvenient to administer. Also, enterprise customers may not want their employees to use 3rd party public cloud deployments for security reasons. The enterprises may want to permit employees to access personal files from various devices, but want any persistent copy to remain only in the enterprise's private datacenter(s). Also, the cloud based file synchronization service is inefficient, requiring extra storage to store the files in the cloud, resulting in additional costs.